using EnvDTE80;
using System.Globalization;
using System.Reflection;
using System.Resources;

namespace ICeFramework.Addin
{
    public class CommandBase
    {
        private DTE2 _application;
        #region public DTE2 Application
        /// <summary>
        /// Gets the Application of the CommandBase
        /// </summary>
        /// <value></value>
        public DTE2 Application
        {
            get { return _application; }
        }
        #endregion

        private System.Guid id = System.Guid.NewGuid();
        #region public System.Guid Id
        /// <summary>
        /// Gets the Id of the CommandBase
        /// </summary>
        /// <value></value>
        public System.Guid Id
        {
            get
            {
                return id;
            }
        }
        #endregion

        private string _name;
        #region public string Name
        /// <summary>
        /// Gets the Name of the CommandBase
        /// </summary>
        /// <value></value>
        public string Name
        {
            get { return _name; }
        }
        #endregion

        private string _caption;
        #region public string Caption
        /// <summary>
        /// Get/Sets the Caption of the CommandBase
        /// </summary>
        /// <value></value>
        public string Caption
        {
            get
            {
                return _caption;
            }
            set
            {
                _caption = value;
            }
        }
        #endregion

        private string _tooltipText;
        #region public string TooltipText
        /// <summary>
        /// Get/Sets the TooltipText of the CommandBase
        /// </summary>
        /// <value></value>
        public string TooltipText
        {
            get
            {
                return _tooltipText;
            }
            set
            {
                _tooltipText = value;
            }
        }
        #endregion

        #region public CommandBase(string name, string caption, string tooltipText, DTE2 application)
        /// <summary>
        /// Initializes a new instance of the <b>CommandBase</b> class.
        /// </summary>
        /// <param name="name"></param>
        /// <param name="caption"></param>
        /// <param name="tooltipText"></param>
        /// <param name="application"></param>
        public CommandBase(string name, string caption, string tooltipText, DTE2 application)
        {
            _application = application;
            _caption = caption;
            _tooltipText = tooltipText;
            _name = name;
        }
        #endregion
    }
}
